#include <stdlib.h>
#include <iostream>
using namespace std;

#include "LecteurCaractere.h"

////////////////////////////////////////////////////////////////////////////////
// Constructeur de la Classe LecteurCaractere
LecteurCaractere::LecteurCaractere(string nomFich) : f(nomFich.data())
{
  ligne=1;
  colonne=0;
  if (f.fail()) // si Echec de l'ouverture du fichier
  {
    cout << "Fichier \"" << nomFich << "\" non trouve." << endl;
    exit(0); // plus tard on levera une exception
  }
  else
    suivant(); // carCour contient le caractere suivant si possible
}

////////////////////////////////////////////////////////////////////////////////?????????????????
// Lecture du caracter courant et passe au caracter suivant si possible
void LecteurCaractere::suivant()
{
  if (f.peek()==EOF) // Lit et retourne le caractère suivant sans l'extraire, c'est à dire laissant que le caractère suivant à être extraite du flux.
    carCour=EOF; // carCour 
  else
  {
    if (carCour=='\n')
    {
      colonne=0;
      ligne++;
    }
    f.get(carCour); // Lecture du caractére courant (l'affecte à carCour) 
    colonne++; 
  }
}
